package com.event.management.frontend.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.Email;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 用户注册参数
 */
@Data
@ApiModel(description = "用户注册参数")
public class RegisterParam {
    
    @ApiModelProperty(value = "用户名", required = true, example = "user123")
    @Size(min = 3, max = 20, message = "用户名长度必须在3-20个字符之间")
    private String username;
    
    @ApiModelProperty(value = "密码", required = true, example = "password123")
    @Size(min = 6, message = "密码长度不能少于6个字符")
    private String password;
    
    @ApiModelProperty(value = "真实姓名", example = "张三")
    private String realName;
    
    @ApiModelProperty(value = "性别", example = "male", allowableValues = "male,female,secret")
    private String gender = "secret";
    
    @ApiModelProperty(value = "邮箱", example = "example@email.com")
    @Email(message = "邮箱格式不正确")
    private String email;
    
    @ApiModelProperty(value = "手机号", example = "13800138000")
    @Pattern(regexp = "^$|^1[3-9]\\d{9}$", message = "手机号格式不正确")
    private String phone;
    
    @ApiModelProperty(value = "兴趣爱好", example = "音乐、讲座")
    private String interests;
    
    @ApiModelProperty(value = "生日", example = "1990-01-01")
    private String birthday;
    
    @ApiModelProperty(value = "个人简介", example = "这是我的个人简介")
    private String bio;
    
    @ApiModelProperty(value = "头像URL", example = "https://example.com/avatar.jpg")
    private String avatar;
    
    @ApiModelProperty(value = "地址", example = "北京市海淀区")
    private String address;
    
    @ApiModelProperty(value = "职业", example = "工程师")
    private String profession;
} 